/*=============================================================================

  SYSTEM MEMORY DEFINITION
  
  FILE: SYS_mem.h
  
  DESCRIPTION

    System memory definition

  Copyright (c) DaeSung Engineering Inc. All rights reserved.

=============================================================================*/
/*=============================================================================

  EDIT HISTORY

  ---------  -------  -------------------------------------------------------
    when          who       what, where, why
  ---------  -------  -------------------------------------------------------
    01/31/04   nso4th    Initial version
    
=============================================================================*/


/*=============================================================================
  HEADER INCLUSION
=============================================================================*/
#include <SYS_mem.h>
#include <dlgEng.h>

/*=============================================================================
  CONSTANT DEFINITION
=============================================================================*/

/*=============================================================================
  LOCALIZED VARIABLE DEFINITION
=============================================================================*/
static boolean memShow = FALSE;

extern void auxMem_Init(void);
extern void auxMem_Close(void);
extern void auxMem_Clear(dword *mem_num, dword *tot_siz);
extern void auxMem_Dump(mcxt fp);

/*=============================================================================
  EXTERNALIZED FUNCION DEFINITION
=============================================================================*/

void SYSMEM_INIT(void)
{
	auxMem_Init();
}

void SYSMEM_CLOSE(void)
{
#if 1//#ifdef _OMEMDEBUG_
	SYSMEM_DUMP(1);
#endif
	auxMem_Close();
}

void SYSMEM_Show(boolean enable)
{
	memShow = enable;
}

boolean SYSMEM_IsShow(void)
{
	return	memShow;
}

boolean SYSMEM_Refresh(void)
{
	CDlgEng		*dlg;
	
	if(memShow == FALSE)
		return	FALSE;

	if(UIvw_IsShowEng() == FALSE)
		return	FALSE;

	dlg = (CDlgEng*)ObjList_Get(VIEW_ENG);
	if(dlg == NULL)
		return	FALSE;

	dlg->UI_MEM();
	
	return	TRUE;
}

void SYSMEM_CLEAR(void)
{
	dword		mnum, msiz;

	auxMem_Clear(&mnum, &msiz);
	_sys_mem_clear_(&mnum, &msiz);
	_mx_mem_clear_(&mnum, &msiz);
}

void SYSMEM_DUMP(int32 dumpID)
{
	static char		sztmp[128];
	mcxt			fp;

	sprintf(sztmp, "D:\\%s_mdump_%d.txt", CUST_APP_NAME_SHORT, dumpID);

	fp = FileIo_Open(sztmp, FIO_OPEN_WR);
	if(fp == NULL)
		return;

	_mx_mem_dump_(fp);
	auxMem_Dump(fp);
	FileIo_Close(fp);
}

/*--- END OF SYS_mem.c ---*/
